// Learn cc.Class:
//  - [Chinese] https://docs.cocos.com/creator/manual/zh/scripting/class.html
//  - [English] http://docs.cocos2d-x.org/creator/manual/en/scripting/class.html
// Learn Attribute:
//  - [Chinese] https://docs.cocos.com/creator/manual/zh/scripting/reference/attributes.html
//  - [English] http://docs.cocos2d-x.org/creator/manual/en/scripting/reference/attributes.html
// Learn life-cycle callbacks:
//  - [Chinese] https://docs.cocos.com/creator/manual/zh/scripting/life-cycle-callbacks.html
//  - [English] https://www.cocos2d-x.org/docs/creator/manual/en/scripting/life-cycle-callbacks.html

cc.Class({
    extends: cc.Component,

    properties: {
        // foo: {
        //     // ATTRIBUTES:
        //     default: null,        // The default value will be used only when the component attaching
        //                           // to a node for the first time
        //     type: cc.SpriteFrame, // optional, default is typeof default
        //     serializable: true,   // optional, default is true
        // },
        // bar: {
        //     get () {
        //         return this._bar;
        //     },
        //     set (value) {
        //         this._bar = value;
        //     }
        // },
        scaleNode:{
            default:null,
            type:cc.Node
        },

        scaleFrom : 0.5,
        scaleDuration : 0.1,

    },

    // LIFE-CYCLE CALLBACKS:

    onLoad () {
        this.scaleNode.setScale(this.scaleFrom)
    },

    start () {

    },

    // update (dt) {},

    startScaleOut:function (cb) {
        this.scaleNode.setScale(this.scaleFrom)
        let scaleTo = cc.scaleTo(this.scaleDuration,1,1).easing(cc.easeIn(3.0))
        if(!cb){
            this.scaleNode.runAction(scaleTo)
        }else {
            let callFunc = cc.callFunc(cb,this)
            let seq = cc.sequence(scaleTo,callFunc)
            this.scaleNode.runAction(seq)
        }
    },
});
